1. Technical Field
The present application relates generally to an improved data processing system and method. More specifically, the present application is directed to a system and method for providing a social network aware input dictionary.
2. Description of Related Art
A social network is a social structure made of nodes (which are generally individuals or organizations) that are tied by one or more specific types of relations, such as values, visions, ideas, financial exchange, friendships, kinships, dislikes, trade, etc. Social network analysis views social relationships in terms of nodes and ties. Nodes are the individual actors within the networks and ties are the relationships between the actors. There may be many kinds of ties between the nodes. In its simplest form, a social network is a map of all of the relevant ties between the nodes being studied.
With the advent of the Internet, new digital social networks have evolved. Examples of digital social networks include news and chat groups, on-line forums, social websites, and the like. Such digital social networks provide a mechanism through which individuals and organizations may communicate with other individuals/organizations that may be locally or remotely located and which have similar or related interests, i.e. ties. One characteristic with digital social networks is that the ties tend to be hard-coded into the digital social network, e.g., news groups and chat groups are established for a specific interest or purpose to which all the members subscribe. Such digital social networks may comprise many individuals/organizations from various geographical locations across the globe.
Each digital social network may be directed to specific specialized interests/goals. Because of the specialized nature of these interests/goals, members of such digital social networks tend to adopt their own terms to describe those interests/goals. These terms may not be readily apparent to those new to the digital social network. Moreover, those terms may be similar to other terms in other contexts which may have a different meaning in the other contexts. Many times, such digital social networks use text-based communication, e.g., instant messages, electronic mail messages, etc., for sending messages between members of the digital social network.
Input dictionaries may be used by computer applications to speed up the selection of a word or group of words. The input dictionary is comprised of a plurality of textual words or terms stored in a data structure that is searchable, such as via textual matching or the like. For example, input dictionaries are often used in applications in which the user is inputting words through a user interface other than the conventional keyboard, e.g., a device using voice recognition input or a cellular telephone using Text on 9 keys (T9) input. With voice recognition, audio input waveforms are used with a trained software algorithm to recognize words spoken by a user based on the user's voice pattern. U.S. Pat. No. 6,973,427 issued to Hwang et al. describes an example system in which voice recognition is utilized with text based dictionary matching.
T9 input is a predictive text technology for mobile or cellular telephones that attempts to make it easier to type text messages on small mobile devices. The technology allows words to be entered by a single key press for each letter, as opposed to the approach used in older generation mobile devices in which several letters are associated with each key and selecting one letter often requires multiple key presses. The software combines the groups of letters found on each phone key with a fast access input dictionary of words. It looks up all the possible words corresponding to the sequence of key presses in the dictionary. As the predictive software gains familiarity with the words and phrases the user commonly uses, it speeds the process by offering the most frequently used words first and then lets the user access other choices with one or more presses of a predefined “Next” key.
Whether using voice recognition, T9 input, or any other technology that is based on input dictionary matching operations, when a user enters a word or portion of a word as input, such as by speaking or keying in characters, the software that ultimately decides on the right word to be used, utilizes the inputted word or portion of a word as a key. The key is then used as a lookup index into the input dictionary to attempt to find the correct word that should be used as an output value. In this sense, the software attempts to find the closest match to the inputted word. As a result, the input dictionary on the backend must be as large as possible in order to improve the accuracy of the matching operation.
However, in devices that utilize these types of input devices, i.e. voice recognition and T9 input, storage space and processing speed may be limited. That is, the devices where these input devices are used tend to be mobile electronics which, due to size and cost, have limited storage space available to store input dictionaries and limited processing ability to perform such input dictionary lookup operations.
Moreover, in known devices/systems that utilize input dictionaries, the input dictionaries are generally the same for all users of the devices/systems. That is, all purchasers of a particular mobile telephone will be provided with the same input dictionary regardless of who they are. In some cases, these input dictionaries may be trained to include additional words or terms entered by the particular user, such as in the case of U.S. Pat. No. 6,973,427. However, the input dictionary must be specifically trained or augmented by the user of the device in order to become customized to the words and terms used by the user. Moreover, the ability to increase the size of the input dictionary by user input does not address the storage space and processing limitations previously discussed.